package com.tcoiss.app.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.tcoiss.common.core.annotation.Excel;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;

/**
 * 【渠道档案】对象 kd_qdFile
 * 
 * @author zw
 * @date 2021-09-02
 */
@Data
@NoArgsConstructor
@Accessors(chain = true)
@TableName("kd_qdFile")
public class KdQdfile implements Serializable {

private static final long serialVersionUID=1L;


    /** $column.columnComment */
    @TableId(value = "id")
    private Long id;

    /** 主表ID */
    @Excel(name = "主表ID")
    private Long primaryId;

    /** 编码 */
    @Excel(name = "编码")
    private String number;

    /** 创建组织 */
    @Excel(name = "创建组织")
    private Long createOrg;

    /** 名称 */
    @Excel(name = "名称")
    private String name;

    /** 渠道类型 */
    @Excel(name = "渠道类型")
    private String channelType;

    /** 渠道类型编码 */
    @Excel(name = "渠道类型编码")
    private String channelTypeNo;

    /** 渠道性质 */
    @Excel(name = "渠道性质")
    private String channelProperty;

    /** 商务伙伴 */
    @Excel(name = "商务伙伴")
    private String partner;

    /** 商务伙伴编码 */
    @Excel(name = "商务伙伴编码")
    private String partnerNo;

    /** 销售组织 */
    @Excel(name = "销售组织")
    private String saleOrg;

    /** 销售组织编码 */
    @Excel(name = "销售组织编码")
    private String saleorgNo;

    /** 客户 */
    @Excel(name = "客户")
    private String customer;

    /** 客户编码 */
    @Excel(name = "客户编码")
    private String customerNo;

    /** 所属法人 */
    @Excel(name = "所属法人")
    private String legalChannel;

    /** 所属法人编码 */
    @Excel(name = "所属法人编码")
    private String legalChannelNo;

    /** 渠道等级 */
    @Excel(name = "渠道等级")
    private String grade;

    /** 渠道等级编码 */
    @Excel(name = "渠道等级编码")
    private String gradeNo;

    /** 上级渠道 */
    @Excel(name = "上级渠道")
    private String parent;

    /** 上级渠道编码 */
    @Excel(name = "上级渠道编码")
    private String parentNo;

    /** 所属集团渠道 */
    @Excel(name = "所属集团渠道")
    private Long companyChannel;

    /** 所属集团渠道编码 */
    @Excel(name = "所属集团渠道编码")
    private String companyChannelNo;

    /** 结算币别 */
    @Excel(name = "结算币别")
    private String currency;

    /** 结算币别编码 */
    @Excel(name = "结算币别编码")
    private String currencyNo;

    /** 是否门店 */
    @Excel(name = "是否门店")
    private String isStore;

    /** 内部组织 */
    @Excel(name = "内部组织")
    private String isInnerOrg;

    /** 渠道状态 */
    @Excel(name = "渠道状态")
    private String regStatus;

    /** 默认供货渠道 */
    @Excel(name = "默认供货渠道")
    private String saleChannel;

    /** 默认供货渠道编码 */
    @Excel(name = "默认供货渠道编码")
    private String saleChannelNo;

    /** 结算渠道 */
    @Excel(name = "结算渠道")
    private String balanceChannel;

    /** 结算渠道编码 */
    @Excel(name = "结算渠道编码")
    private String balanCechannelNo;

    /** 收货渠道 */
    @Excel(name = "收货渠道")
    private String orderChannel;

    /** 收货渠道编码 */
    @Excel(name = "收货渠道编码")
    private String orderChannelNo;

    /** 付款渠道 */
    @Excel(name = "付款渠道")
    private String payChannel;

    /** 付款渠道编码 */
    @Excel(name = "付款渠道编码")
    private String payChannelNo;

    /** 订货单据类型 */
    @Excel(name = "订货单据类型")
    private String orderBillType;

    /** 订货单据类型编码 */
    @Excel(name = "订货单据类型编码")
    private String orderBillTypeNo;

    /** 订货单据控制 */
    @Excel(name = "订货单据控制")
    private String orderControl;

    /** 退货单据类型 */
    @Excel(name = "退货单据类型")
    private String returnBillType;

    /** 退货单据类型编码 */
    @Excel(name = "退货单据类型编码")
    private String returnBillTypeNo;

    /** 退货单据控制 */
    @Excel(name = "退货单据控制")
    private String returncontroltype;

    /** 销量管理模式 */
    @Excel(name = "销量管理模式")
    private String salecontrolmode;

    /** 开单供货模式 */
    @Excel(name = "开单供货模式")
    private String billcontrolmode;

    /** 库存管理模式 */
    @Excel(name = "库存管理模式")
    private String invcontrolmode;

    /** 允许负库存 */
    @Excel(name = "允许负库存")
    private String isnegativeinventory;

    /** 线上门店 */
    @Excel(name = "线上门店")
    private String isonlinestore;

    /** 默认门店 */
    @Excel(name = "默认门店")
    private String isdefaultstore;

    /** 到店自提 */
    @Excel(name = "到店自提")
    private String isfetchbyself;

    /** 门店配送 */
    @Excel(name = "门店配送")
    private String isdeliverybystore;

    /** 同城配送 */
    @Excel(name = "同城配送")
    private String isdeliveryonecity;

    /** 启用赊销信用管理 */
    @Excel(name = "启用赊销信用管理")
    private String isenablecredit;

    /** 配送公里范围 */
    @Excel(name = "配送公里范围")
    private Long deliverymile;

    /** 营业开始时间 */
    @Excel(name = "营业开始时间")
    private Long beginstoreworktime;

    /** 营业结束时间 */
    @Excel(name = "营业结束时间")
    private Long endstoreworktime;

    /** 省市区 */
    @Excel(name = "省市区")
    private String area;

    /** 详细地址 */
    @Excel(name = "详细地址")
    private String address;

    /** 公司电话 */
    @Excel(name = "公司电话")
    private String phone;

    /** 公司传真 */
    @Excel(name = "公司传真")
    private String fax;

    /** 经度 */
    @Excel(name = "经度")
    private Long longitude;

    /** 纬度 */
    @Excel(name = "纬度")
    private Long latitude;

    /** 创建人 */
    @Excel(name = "创建人")
    private String creator;

    /** 创建人编码 */
    @Excel(name = "创建人编码")
    private String creatorNo;

    /** 创建时间 */
    @Excel(name = "创建时间" , width = 30, dateFormat = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createtime;

    /** 使用状态 */
    @Excel(name = "使用状态")
    private String enable;

    /** 数据状态 */
    @Excel(name = "数据状态")
    private String status;

    /** 控制策略 */
    @Excel(name = "控制策略")
    private String ctrlstrategy;

    @TableField(exist = false)
    private Map<String, Object> params = new HashMap<>();
}
